<!DOCTYPE html>
<html>
<head>
    <title>组件基本使用</title>
     <script src="../js/vue.min.js"></script> 
</head>
<body>
    <!-- Your HTML code goes here -->
    <div id="root">
        <!--使用组件-->
        <student>hello</student>
        <hr>
        <student/>
    </div>

    <div id="root2">
        <!--使用组件-->
        <student></student>
    </div>
</body>
<script>
    // 定义组件, 多个单词用-隔开, 原生写法, 可以简写
    // const student = Vue.extend({
    //     name: 'student',// 组件名, 也可以不写, 只能在开发者工具中看到
    //     // 记得要有div包裹
    //     template:`
    //         <div> 
    //             <h2>学生姓名: {{name}}</h2>
    //             <h2>学生年龄: {{age}}</h2>
    //             <button @click="sayHi()">hello</button>
    //         </div>
    //     `,
    //     data() { //组件中的data必须是函数
    //         return {
    //             name: '张三',
    //             age: 18
    //         }
    //     },
    //     methods:{
    //         sayHi(){
    //             alert('hi')
    //         }
    //     }
    // })

    const student = {  //简写
        name: 'student',// 组件名, 也可以不写, 只能在开发者工具中看到
        // 记得要有div包裹
        template:`
            <div> 
                <h2>学生姓名: {{name}}</h2>
                <h2>学生年龄: {{age}}</h2>
                <button @click="sayHi()">hello</button>
            </div>
        `,
        data() { //组件中的data必须是函数
            return {
                name: '张三',
                age: 18
            }
        },
        methods:{
            sayHi(){
                alert('hi')
            }
        }
    }

    // 全局注册组件
    Vue.component('student', student)

    const vm = new Vue({
        el: "#root",
        // 局部注册组件
        components: {
            // student
        }
    })

    const vm2 = new Vue({
        el: "#root2",
        // 局部注册组件
        components: {
            // student
        }
    })

</script>
</html>
